Optical sensors are in widespread use, including in cell phones, telescopes, medical imaging equipment, etc. CCD and CMOS sensors are currently the most popular varieties, although others are gaining in popularity.
For some applications, accuracy of the sensor data is of low importance; in others accuracy is critical. Discerning digital watermark data from captured imagery is one in which sensor accuracy matters.
As is familiar, digital watermark technology relies on subtle image variations to encode auxiliary information. These variations escape notice by human observers (i.e., they are steganographic), but they can be discerned by computer analysis. Because the variations may be on the order of 1% (e.g., in luminance), even small errors in sensor data acquisition can lead to challenges in decoding watermark data.
Such errors have been mitigated in the prior art by various techniques, including use of data redundancy and error-correcting encoding techniques. However, if sensor errors can be addressed, still better accuracy can be achieved.
Compensation for sensor imperfections is commonplace in other fields, such as astronomical imaging. When imaging the night sky, a sensor is first operated in total darkness (e.g., shielded from the viewing aperture) to identify baseline noise associated with each sensor pixel. The resulting “dark frame” of data is then subtracted from subsequent images to correct for this extraneous signal contributed by the sensor.
In accordance with one embodiment of the present technology, the baseline behavior of sensors is assessed. However, instead of characterizing the absolute behavior of a sensor cell, its behavior relative to one or more neighbors is determined.
In a particular embodiment, a set of plural reference images are collected. Over a large enough set, the probability that a pixel produces an output signal above that of its neighbors should match the probability that a pixel produces an output signal below its neighbors.
For example, in an ideal sensor array in which each cell outputs a digital value between 0 and 255, each pixel may produce an output below its neighbors 35% of the time, and produce an output above its neighbors 35% of the time (with the pixel producing an output equal to its neighbors the remaining 30% of the time). With other sets of reference images the numbers may be different, but the above/below likelihoods should be equal.
Once the relative biases of different pixels are determined—whether to individual neighbors, or neighbors as a group—this data can be used in various ways. For example, compensations can be applied to correct these variations. Or subsequent image processing operations can simply ignore signals from pixels whose biases exceed a threshold value.
In testing the image sensor of one cell phone camera, it was found that about 38% of the pixels showed a strong bias relative to a neighbor. In particular, each of those pixels, on average, produced an output above (or below) their neighbors 60% of the time. So instead of 35%-30%-35% as in the earlier example, these pixels demonstrated behaviors of 60%-X-Y (or Y-X-60%). By simply ignoring these outlier pixels (or pixel pairs) in watermark decoding, substantially improved results can be achieved.
The foregoing and other features and advantages of the present technology will be more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.